\subsection{gpio-linux32.c-Dateireferenz}
\label{gpio-linux32_8c}\index{gpio-linux32.c@{gpio-linux32.c}}
Implementiert (bzw simuliert) die GPIO-Schnittstelle auf einem 32-bit Linux System. 

{\tt \#include $<$stdio.h$>$}\par
{\tt \#include \char`\"{}gpio.h\char`\"{}}\par
{\tt \#include \char`\"{}gpio-port-config.h\char`\"{}}\par
{\tt \#include \char`\"{}log.h\char`\"{}}\par
\subsubsection*{Funktionen}
\begin{CompactItemize}
\item 
void {\bf lcv\_\-gpio\_\-init} ()
\begin{CompactList}\small\item\em Initialisiert das gpio\_\-values[] Array. \item\end{CompactList}\item 
char {\bf lcv\_\-gpio\_\-read} (unsigned char port)
\begin{CompactList}\small\item\em Liest den Wert eines Eingabeports. \item\end{CompactList}\item 
char {\bf lcv\_\-gpio\_\-write} (unsigned char port, unsigned char value)
\begin{CompactList}\small\item\em Schreibt den Wert eines Ausgabeports. \item\end{CompactList}\item 
void {\bf lcv\_\-gpio\_\-simulate\_\-input} (unsigned char port, unsigned char value)
\begin{CompactList}\small\item\em Simuliert einen Input an einem GPIO Port. \item\end{CompactList}\item 
void {\bf lcv\_\-gpio\_\-simulate\_\-output} (void($\ast$handler)(unsigned char port, unsigned char value))
\begin{CompactList}\small\item\em Legt eine Funktion als Event-Handler für Schreiboperationen auf GPIO Ports fest. \item\end{CompactList}\end{CompactItemize}
\subsubsection*{Variablen}
\begin{CompactItemize}
\item 
unsigned char {\bf gpio\_\-initialised} = FALSE
\begin{CompactList}\small\item\em Wurden die Ports bereits initialisiert. \item\end{CompactList}\item 
unsigned char {\bf gpio\_\-values} [sizeof({\bf gpio\_\-in})/sizeof($\ast${\bf gpio\_\-in})]
\begin{CompactList}\small\item\em Array zur Simulation der GPIO Ports. \item\end{CompactList}\item 
void($\ast$ {\bf gpio\_\-write\_\-handler} )(unsigned char port, unsigned char value) = NULL
\begin{CompactList}\small\item\em Function-Pointer auf den GPIO-Output-Handler. \item\end{CompactList}\end{CompactItemize}


\subsubsection{Ausführliche Beschreibung}
Implementiert (bzw simuliert) die GPIO-Schnittstelle auf einem 32-bit Linux System. 

\begin{Desc}
\item[Autor:]Daniel Kummer, Sebastian Kummer \end{Desc}
\begin{Desc}
\item[Datum:]Donnerstag, Dezember 12, 2007 \end{Desc}
\begin{Desc}
\item[Version:]1.0 \end{Desc}


Definiert in Datei {\bf gpio-linux32.c}.

\subsubsection{Dokumentation der Funktionen}
\index{gpio-linux32.c@{gpio-linux32.c}!lcv_gpio_init@{lcv\_\-gpio\_\-init}}
\index{lcv_gpio_init@{lcv\_\-gpio\_\-init}!gpio-linux32.c@{gpio-linux32.c}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}void lcv\_\-gpio\_\-init ()}\hfill\label{gpio-linux32_8c_bc334897486c97709a88cb9e9c58e69e}


Initialisiert das gpio\_\-values[] Array. 



Definiert in Zeile 63 der Datei gpio-linux32.c.

Benutzt gpio\_\-in\_\-ports\_\-cnt, gpio\_\-initialised, gpio\_\-values und TRUE.

Wird benutzt von lcv\_\-gpio\_\-read().\index{gpio-linux32.c@{gpio-linux32.c}!lcv_gpio_read@{lcv\_\-gpio\_\-read}}
\index{lcv_gpio_read@{lcv\_\-gpio\_\-read}!gpio-linux32.c@{gpio-linux32.c}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}char lcv\_\-gpio\_\-read (unsigned char {\em port})}\hfill\label{gpio-linux32_8c_c1091625d45beae7dbadf8b575f5a3b2}


Liest den Wert eines Eingabeports. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em port}]Nummer des LCV-Ports \end{description}
\end{Desc}
\begin{Desc}
\item[Rückgabe:]Wert (0 oder 1) oder Fehlernummer (negativ) \end{Desc}


Definiert in Zeile 36 der Datei gpio-linux32.c.\index{gpio-linux32.c@{gpio-linux32.c}!lcv_gpio_simulate_input@{lcv\_\-gpio\_\-simulate\_\-input}}
\index{lcv_gpio_simulate_input@{lcv\_\-gpio\_\-simulate\_\-input}!gpio-linux32.c@{gpio-linux32.c}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}void lcv\_\-gpio\_\-simulate\_\-input (unsigned char {\em port}, unsigned char {\em value})}\hfill\label{gpio-linux32_8c_fe074e107ea0df9a1e7becc8cd65cc04}


Simuliert einen Input an einem GPIO Port. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em port}]Nummer des LCV-Ports \item[{\em value}]Wert (0 oder 1) \end{description}
\end{Desc}


Definiert in Zeile 76 der Datei gpio-linux32.c.\index{gpio-linux32.c@{gpio-linux32.c}!lcv_gpio_simulate_output@{lcv\_\-gpio\_\-simulate\_\-output}}
\index{lcv_gpio_simulate_output@{lcv\_\-gpio\_\-simulate\_\-output}!gpio-linux32.c@{gpio-linux32.c}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}void lcv\_\-gpio\_\-simulate\_\-output (void($\ast$)(unsigned char port, unsigned char value) {\em handler})}\hfill\label{gpio-linux32_8c_ea6d99743be79991a2a0665efac78f92}


Legt eine Funktion als Event-Handler für Schreiboperationen auf GPIO Ports fest. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em handler}]Function-Pointer auf den Event-Handler mit der Portnummer und dem geschriebenen Wert als Parameter \end{description}
\end{Desc}


Definiert in Zeile 87 der Datei gpio-linux32.c.\index{gpio-linux32.c@{gpio-linux32.c}!lcv_gpio_write@{lcv\_\-gpio\_\-write}}
\index{lcv_gpio_write@{lcv\_\-gpio\_\-write}!gpio-linux32.c@{gpio-linux32.c}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}char lcv\_\-gpio\_\-write (unsigned char {\em port}, unsigned char {\em value})}\hfill\label{gpio-linux32_8c_b9f8e9e1180ce0f6c40fc07382807c07}


Schreibt den Wert eines Ausgabeports. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em port}]Nummer des LCV-Ports \item[{\em value}]0 oder 1 \end{description}
\end{Desc}
\begin{Desc}
\item[Rückgabe:]Erfolgsmeldung (positiv) oder Fehlernummer (negativ) \end{Desc}


Definiert in Zeile 46 der Datei gpio-linux32.c.

\subsubsection{Variablen-Dokumentation}
\index{gpio-linux32.c@{gpio-linux32.c}!gpio_initialised@{gpio\_\-initialised}}
\index{gpio_initialised@{gpio\_\-initialised}!gpio-linux32.c@{gpio-linux32.c}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}unsigned char {\bf gpio\_\-initialised} = FALSE}\hfill\label{gpio-linux32_8c_e08fd5bb5dca37495060b34f5ac5cfd2}


Wurden die Ports bereits initialisiert. 



Definiert in Zeile 23 der Datei gpio-linux32.c.

Wird benutzt von lcv\_\-gpio\_\-init().\index{gpio-linux32.c@{gpio-linux32.c}!gpio_values@{gpio\_\-values}}
\index{gpio_values@{gpio\_\-values}!gpio-linux32.c@{gpio-linux32.c}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}unsigned char {\bf gpio\_\-values}[sizeof({\bf gpio\_\-in})/sizeof($\ast${\bf gpio\_\-in})]}\hfill\label{gpio-linux32_8c_a77a5b5803345c350546066730a87e22}


Array zur Simulation der GPIO Ports. 



Definiert in Zeile 28 der Datei gpio-linux32.c.

Wird benutzt von lcv\_\-gpio\_\-init(), lcv\_\-gpio\_\-read() und lcv\_\-gpio\_\-simulate\_\-input().\index{gpio-linux32.c@{gpio-linux32.c}!gpio_write_handler@{gpio\_\-write\_\-handler}}
\index{gpio_write_handler@{gpio\_\-write\_\-handler}!gpio-linux32.c@{gpio-linux32.c}}
\paragraph{\setlength{\rightskip}{0pt plus 5cm}void($\ast$ {\bf gpio\_\-write\_\-handler})(unsigned char port, unsigned char value) = NULL}\hfill\label{gpio-linux32_8c_8e3ff06079c314fdf78536856b9e19da}


Function-Pointer auf den GPIO-Output-Handler. 



Definiert in Zeile 33 der Datei gpio-linux32.c.

Wird benutzt von lcv\_\-gpio\_\-simulate\_\-output() und lcv\_\-gpio\_\-write().